package com.xuelang.pipeline.artifact.app.nexus3v1.response;

import com.xuelang.pipeline.artifact.app.nexus3v1.xo.ApiUserStatus;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author xiwen.zxg
 * @since 2024/7/10
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CreateUserResponse {
    /**
     * The email address associated with the user.
     */
    private String emailAddress;
    /**
     * The roles which the user has been assigned in an external source, e.g. LDAP group. These
     * cannot be changed within the Nexus Repository Manager.
     */
    private List<String> externalRoles;
    /**
     * The first name of the user.
     */
    private String firstName;
    /**
     * The last name of the user.
     */
    private String lastName;
    /**
     * Indicates whether the user's properties could be modified by the Nexus Repository
     * Manager. When false only roles are considered during update.
     */
    private Boolean readOnly;
    /**
     * The roles which the user has been assigned within Nexus.
     */
    private List<String> roles;
    /**
     * The user source which is the origin of this user. This value cannot be changed.
     */
    private String source;
    /**
     * The user's status, e.g. active or disabled.
     */
    private ApiUserStatus status;
    /**
     * The userid which is required for login. This value cannot be changed.
     */
    private String userId;
}
